As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Traditionally, it has been assumed that information handling resources within boundaries of an information handling system may assume trust with each other. For example, in a server platform, the basic input/output system (BIOS) and a storage host bus adapter (HBA) of an information handling system may trust each other in exchange of credentials. Many implementations rely on a shared secret between information handling resources, and rely on a likelihood that the shared secret will not be leaked to a malicious entity. Such implementations introduce a security risk, as malicious code executing on an information handling system with a priority greater than that of an operating system may utilize a similar mechanism to manipulate confidential information within a given platform domain. As a specific illustration, in a server implementation, a BIOS may communicate to a service processor through a keyboard control-style (KCS) interface that is also available to code executing on a processor of the information handling system (e.g., an application executed at a higher priority than an operating system). If the BIOS is deemed trustable to the service processor, any entity with knowledge of the architectural implementation may execute malicious code (e.g., at the level of the operating system) posing as the trusted BIOS to gain access to confidential platform information.